package com.bawei.aspect

import android.util.Log
import com.bawei.cache.CacheStrategy
import com.bawei.cache.CacheUtil
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.annotation.Around
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Pointcut

/**
 * 声明一个切面类
 */
@Aspect
class CheckLoginAspect {

    //定义切点, execution(@注解的全路径包名.注解名称 * *(..))
    @Pointcut("execution(@com.bawei.aspect.annotation.CheckLogin * *(..))")
    fun checkLogin(){

    }

    //自定义切点的处理逻辑
    @Around("checkLogin()")
    fun aroundCheckLogin(proceedingJoinPoint: ProceedingJoinPoint){
        Log.i("========", "aroundCheckLogin: ============")

        val token = CacheUtil.getCache(CacheStrategy.MMKV).getString("token")

        //获取注解传递的参数

        proceedingJoinPoint.proceed()
    }

}